package com.weimob.mcloud.wechatwork.customer.service.user.module.dto.tag;

import com.weimob.mcloud.wechatwork.customer.service.user.base.PrivateSphereDTO;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author junlong.lv
 * @version 1.0
 * @date 2021/11/4 8:12 下午
 */
public class CustomerTagDTO implements Serializable {

    private static final long serialVersionUID = 7231383672600127010L;

    /**
     * 私域信息
     */
    private PrivateSphereDTO privateSphereDTO;

    /**
     * 标签信息
     */
    private List<TagDTO> tagDTOList;

    /**
     *
     */
    private String orgUserId;

    /**
     * 员工id
     */
    private String userId;

    /**
     * 外部联系人id
     */
    private String externalUserId;

    /**
     *
     */
    private String customerId;

    /**
     *
     */
    private Long wid;

    /**
     * 1:企微
     * 2:其他来源
     * 3: 系统来源
     */
    private Integer markSource;

    /**
     * 0-移除，1-增加
     */
    private Integer operateType;

    /**
     * 请求扩展字段
     * 比如key:cdp_product_instance_id
     */
    private Map<String, Object> extInfo = new HashMap<>();

    /**
     * true 代表离线打标
     * false 代表实时打标
     */
    private Boolean offline = false;

    public List<TagDTO> getTagDTOList() {
        return tagDTOList;
    }

    public void setTagDTOList(List<TagDTO> tagDTOList) {
        this.tagDTOList = tagDTOList;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getExternalUserId() {
        return externalUserId;
    }

    public void setExternalUserId(String externalUserId) {
        this.externalUserId = externalUserId;
    }

    public Integer getMarkSource() {
        return markSource;
    }

    public void setMarkSource(Integer markSource) {
        this.markSource = markSource;
    }

    public Map<String, Object> getExtInfo() {
        return extInfo;
    }

    public void setExtInfo(Map<String, Object> extInfo) {
        this.extInfo = extInfo;
    }

    public String getOrgUserId() {
        return orgUserId;
    }

    public void setOrgUserId(String orgUserId) {
        this.orgUserId = orgUserId;
    }

    public Integer getOperateType() {
        return operateType;
    }

    public void setOperateType(Integer operateType) {
        this.operateType = operateType;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public Long getWid() {
        return wid;
    }

    public void setWid(Long wid) {
        this.wid = wid;
    }

    public PrivateSphereDTO getPrivateSphereDTO() {
        return privateSphereDTO;
    }

    public void setPrivateSphereDTO(PrivateSphereDTO privateSphereDTO) {
        this.privateSphereDTO = privateSphereDTO;
    }

    public Boolean getOffline() {
        return offline;
    }

    public void setOffline(Boolean offline) {
        this.offline = offline;
    }
}
